package com.vhall.component.entity.lottery.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * @author pingwen.jiang
 * @Title LotteryGetsReqVO
 * 获取抽奖列表 请求vo
 * @date 2020-08-19 10:45
 **/
@Data
public class LotteryGetsReqVO {

    /**
     * 应用ID
     */
    @ParamName("app_id")
    @JsonProperty("app_id")
    @NotNull(message = "应用ID不能为空")
    private String appId;

    /**
     * 平台标识
     */
    @ParamName("bu")
    @JsonProperty("bu")
    private String bu;

    /**
     * 抽奖创建者ID
     */
    @ParamName("creator_id")
    @JsonProperty("creator_id")
    private String creatorId;

    /**
     * 来源ID
     */
    @ParamName("source_id")
    @JsonProperty("source_id")
    private String sourceId;

    /**
     * 抽奖状态：0 开始抽奖 1 抽奖完成（结束）
     */
    @ParamName("lottery_status")
    @JsonProperty("lottery_status")
    private Integer lotteryStatus;

    /**
     * 参与抽奖人员范围：
     * 1 全体参会用户
     * 2 参与问卷的参会者
     * 3 参与签到的参会者
     * 4.全体观众
     * 5.已登录观众
     * 6.参与问卷的观众
     * 7.参与签到的观众
     */
    @ParamName("lottery_type")
    @JsonProperty("lottery_type")
    private Integer lotteryType;

    /**
     * 开始游标
     */
    @ParamName("offset")
    @JsonProperty("offset")
    private Integer offset;

    /**
     * 每次查询取回的条数
     */
    @ParamName("limit")
    @JsonProperty("limit")
    private Integer limit;

    /**
     * 排序类型：
     * asc 正序
     * desc 倒序
     */
    @ParamName("sort_type")
    @JsonProperty("sort_type")
    private String sortType;

    /**
     * 开始时间
     */
    @ParamName("start_time")
    @JsonProperty("start_time")
    private String startTime;

    /**
     * 结束时间
     */
    @ParamName("end_time")
    @JsonProperty("end_time")
    private String endTime;


}
